#ifndef TESTDIALOG_H
#define TESTDIALOG_H

//对话框窗口
#include <QWidget>
#include <QDialog>
#include <QPushButton>
#include <QDebug>
#include <QColorDialog>
#include <QLayout>
#include <QTextEdit>
#include <QErrorMessage>
#include <QFontDialog>
#include <QInputDialog>
#include <QFileDialog>
#include <QMessageBox>
#include <QProgressDialog>
#include <QWizardPage>


class FirstPage : public QWizardPage
{
    Q_OBJECT
public:
    FirstPage(QWidget *p =nullptr):QWizardPage(p)
    {
        QPushButton *btn = new QPushButton("1",this);
        Q_UNUSED(btn);
    }
};

class SecondPage : public QWizardPage
{
    Q_OBJECT
public:
    SecondPage(QWidget *p =nullptr):QWizardPage(p)
    {
        QPushButton *btn = new QPushButton("2",this);
        Q_UNUSED(btn);
    }
};

class ThirdPage : public QWizardPage
{
    Q_OBJECT
public:
    ThirdPage(QWidget *p =nullptr):QWizardPage(p)
    {
        QPushButton *btn = new QPushButton("3",this);
        Q_UNUSED(btn);
    }
};

class CustomDialog : public QDialog
{
    Q_OBJECT
public:
    CustomDialog(QWidget * parent = nullptr);

    ~CustomDialog()
    {
        qDebug()<<"~CustomDialog()";
    }
};

class TestDialog : public QWidget
{
    Q_OBJECT
public:
    explicit TestDialog(QWidget *parent = nullptr);

    void displayDialog();
    void init();

    QDialog *dialog;
    QPushButton *modalButton;
    QPushButton *colorButton;
    QHBoxLayout *mainLayout;
    QVBoxLayout *vLayout;
    QTextEdit * tEdit;
    QPushButton *errorButton;
    QPushButton *fontButton;
    QPushButton *inputButton;
    QPushButton *fileButton;
    QPushButton *messageButton;
    QPushButton *proButton;
    QPushButton *wizardButton;
    QPushButton *pushButton;


signals:

public slots:
    void pushButton_clicked();
};

#endif // TESTDIALOG_H
